package pt.uminho.di.poo.transitarios.gestao;

import java.io.Serializable;
import java.util.Collection;

public interface IGestaoGenerica<T extends IElementoGenerico<?>> extends
		Iterable<T>, Serializable {
	public void adicionar(T e);

	public T devolve(String codigo);

	public Collection<T> devolveTodos();

	@Override
	public boolean equals(Object obj);

	public boolean existe(String codigo);

	public boolean existe(T p);

	public void remover(String codigo);

	public void remover(T p);

	public int size();
}